package com.campusevaluation.controller;

import com.campusevaluation.common.exception.Result;
import com.campusevaluation.domain.po.Questionnaire;
import com.campusevaluation.service.QuestionnaireService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@RestController("/questionnaire")
@Tag(name = "问卷管理模块")
@RequiredArgsConstructor
public class QuestionnaireController {
    private final QuestionnaireService questionnaireService;

    @Operation(summary = "创建问卷")
    @PostMapping("/create")
    public Result<String> createQuestionnaire() {
        return questionnaireService.createQuestionnaire();
    }

    @Operation(summary = "查询所有问卷")
    @GetMapping("/get_list")
    public Result<List<Questionnaire>> getAllQuestionnaire() {
        return questionnaireService.getQuestionnaireList();
    }

    @Operation(summary = "问卷更新")
    @PostMapping("/update_questionnaire")
    public Result<String> updateQuestionnaire(@RequestBody Questionnaire questionnaire) {
        return questionnaireService.updateQuestionnaire(questionnaire);
    }

    @Operation(summary = "删除问卷")
    @DeleteMapping("/delete_questionnaire/{id}")
    public Result<String> deleteQuestionnaire(@PathVariable("id") String id) {
        return questionnaireService.deleteQuestionnaire(id);
    }

    @Operation(summary = "根据id查询问卷")
    @GetMapping("/get_questionnaire/{id}")
    public Result<Questionnaire> getQuestionnaireById(@PathVariable("id") String id) {
        return questionnaireService.getQuestionnaire(id);
    }

    @Operation(summary = "批量删除问卷")
    @DeleteMapping("/delete_questionnaire_batch")
    public Result<String> deleteQuestionnaireBatch(@RequestBody List<String> questionnaireIds) {
        return questionnaireService.deleteQuestionnaireBatch(questionnaireIds);
    }

}
